package com.fanshuai2.niuke.dynamic;

import java.util.Scanner;

/**
 * 输入描述：
 * 用例两行数据，第一行是同学的总数 N ，第二行是 N 位同学的身高，以空格隔开
 *
 * 输出描述：
 * 最少需要几位同学出列
 *
 * 示例1
 * 输入：
 * 8
 * 186 186 150 200 160 130 197 200
 * 复制
 * 输出：
 * 4
 * 复制
 * 说明：
 * 由于不允许改变队列元素的先后顺序，所以最终剩下的队列应该为186 200 160 130或150 200 160 130
 */

public class Hechang {
    static int maxN(int[] arr) {
        if (arr.length == 1) {
            return 1;
        }
        int len = arr.length;
        int[] dpl = new int[len];
        int[] dpr = new int[len];
        for (int i = 0; i < len; i++) {
            dpl[i] = 1;
            dpr[i] = 1;
        }

        for (int i = 0; i < len; i++) {
            for (int j = 0; j < i; j++) {
                if (arr[j] < arr[i] && dpl[i] < dpl[j] + 1) {
                    dpl[i] = dpl[j] + 1;
                }
            }
        }
        for (int i = len - 2; i >= 0; i--) {
            for (int j = len - 1; j > i; j--) {
                if (arr[j] < arr[i] && dpr[i] < dpr[j] + 1) {
                    dpr[i] = dpr[j] + 1;
                }
            }
        }

        int max = Integer.MIN_VALUE;
        for (int k = 0; k < len; k++) {
            if (dpl[k] + dpr[k] - 1 > max) {
                max = dpl[k] + dpr[k] - 1;
            }
        }
        return max;
    }

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        while (in.hasNextInt()) {
            int num = in.nextInt();
            int[] arr = new int[num];
            for (int i = 0; i < num; i++) {
                arr[i] = in.nextInt();
            }

            int left = num - maxN(arr);
            System.out.println(left);
        }
    }
}
